package com.yanqu.road.entity.activity.jiuzhou;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 玩家布阵信息
 */
@FieldTypeAnnotation(tableName = "t_c_jiu_zhou_deploy_data")
public class CrossJiuZhouDeployData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "轮次id", update = true)
    private int round;

    @FieldTypeAnnotation(desc = "房间id", update = true)
    private int roomId;

    @FieldTypeAnnotation(desc = "玩家ID", update = true)
    private long userId;

    @FieldTypeAnnotation(desc = "对手id", update = true)
    private long opponentUserId;

    @FieldTypeAnnotation(desc = "棋书技能Id")
    private int skillId2;

    @FieldTypeAnnotation(desc = "鼓舞银两数")
    private BigInteger silverBuff = BigInteger.ZERO;

    @FieldTypeAnnotation(desc = "生效的天时技能列表")
    private List<Integer> skillId1List = new ArrayList<>();

    @FieldTypeAnnotation(desc = "上阵的门客")
    private List<Integer> patronsIdList = new ArrayList<>();

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        if (this.round != round) {
            this.round = round;
            setOp(DataStatus.Update);
        }
    }

    public int getRoomId() {
        return roomId;
    }

    public void setRoomId(int roomId) {
        if (this.roomId != roomId) {
            this.roomId = roomId;
            setOp(DataStatus.Update);
        }
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public long getOpponentUserId() {
        return opponentUserId;
    }

    public void setOpponentUserId(long opponentUserId) {
        if (this.opponentUserId != opponentUserId) {
            this.opponentUserId = opponentUserId;
            setOp(DataStatus.Update);
        }
    }

    public int getSkillId2() {
        return skillId2;
    }

    public void setSkillId2(int skillId2) {
        if (this.skillId2 != skillId2) {
            this.skillId2 = skillId2;
            setOp(DataStatus.Update);
        }
    }

    public BigInteger getSilverBuff() {
        return silverBuff;
    }

    public void setSilverBuff(BigInteger silverBuff) {
        if (silverBuff == null) {
            return;
        }
        this.silverBuff = silverBuff;
        setOp(DataStatus.Update);
    }

    public List<Integer> getSkillId1List() {
        return skillId1List;
    }

    public void setSkillId1List(List<Integer> skillId1List) {
        if (skillId1List == null) {
            return;
        }
        this.skillId1List = skillId1List;
        setOp(DataStatus.Update);
    }

    public List<Integer> getPatronsIdList() {
        return patronsIdList;
    }

    public void setPatronsIdList(List<Integer> patronsIdList) {
        if (patronsIdList == null) {
            return;
        }
        this.patronsIdList = patronsIdList;
        setOp(DataStatus.Update);
    }
}
